Compile-time Computation of Polytime Functions
نویسندگان
چکیده
We investigate the computational power of C++ compilers. In particular, it is known that any partial recursive function can be computed at compile time, using the template mechanism to define primitive recursion, composition, and minimalization. We show that polynomial time computable functions can be computed at compile-time using the same mechanism, together with template specialization.
منابع مشابه
Quantitative Models and Implicit Complexity
We give new proofs of soundness (all representable functions on base types lies in certain complexity classes) for Elementary Affine Logic, LFPL (a language for polytime computation close to realistic functional programming introduced by one of us), Light Affine Logic and Soft Affine Logic. The proofs are based on a common semantical framework which is merely instantiated in four different ways...
متن کاملParametrised second-order complexity theory with applications to the study of interval computation
We extend the framework for complexity of operators in analysis devised by Kawamura and Cook (2012) to allow for the treatment of a wider class of representations. The main novelty is to endow represented spaces of interest with an additional function on names, called a parameter, which measures the complexity of a given name. This parameter generalises the size function which is usually used i...
متن کاملClosing the Gap Between Runtime Complexity and Polytime Computability
In earlier work, we have shown that for confluent term rewrite systems, innermost polynomial runtime complexity induces polytime computability of the functions defined. In this paper, we generalise this result to full rewriting. For that, we again exploit graph rewriting. We give a new proof of the adequacy of graph rewriting for full rewriting that allows for a precise control of the resources...
متن کاملComputational Complexity of Higher Type Functions
The customary identification of feasible with polytime is discussed, Next, higher type functions are presented as a way of giving computational meaning to theorems. In particular, if a theorem has a "feasibly constructive" proof, the associated functions should be polytime. However examples are given to illustrate the difficulty of capturing the notion of polytime for higher type functions. Fin...
متن کاملVSIPL++Pro – A High-Performance VSIPL++ Implementation
VSIPL++ achieves high-performance through both the efficiency of C++ as a systems language, and by using C++ features for high-performance generic programming to convert domain-level abstractions into efficient code at compile time. The VSIPL++ API allows for early binding of computation and communication, allowing setup for complex functions and communications to be done early, out of critical...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. UCS
دوره 13 شماره
صفحات -
تاریخ انتشار 2007